.TH "Slurm API" "3" "Slurm job step initiation functions" "April 2015" "Slurm job step initiation functions"

.SH "NAME"
slurm_free_job_step_create_response_msg, slurm_job_step_create
\- Slurm job step initiation functions

.SH "SYNTAX"
.LP
#include <slurm/slurm.h>
.LP
.LP
void \fBslurm_free_job_step_create_response_msg\fR (
.br
	job_step_create_response_msg_t *\fIslurm_step_alloc_resp_msg_ptr\fP
.br
);
.LP
int \fBslurm_job_step_create\fR (
.br
	job_step_create_request_msg_t *\fIslurm_step_alloc_req_msg_ptr\fP,
.br
	job_step_create_response_msg_t **\fIslurm_step_alloc_resp_msg_pptr\fP
.br
);
.SH "ARGUMENTS"
.LP
.TP
\fIslurm_step_alloc_req_msg_ptr\fP
Specifies the pointer to the structure with job step request specification. See
slurm.h for full details on the data structure's contents.
.TP
\fIslurm_step_alloc_resp_msg_pptr\fP
Specifies the double pointer to the structure to be created and filled with a description of the
created job step: node allocation, credentials, etc. See slurm.h for full details on the data
structure's contents.
.SH "DESCRIPTION"
.LP
\fBslurm_free_job_step_create_response_msg\fR Release the storage generated in response
to a call of the function \fBslurm_job_step_create\fR.
.LP
\fBslurm_job_step_create\fR Initialize a job step including the allocation of nodes to
it from those already allocate to that job. Always release the response message when no
longer required using the function \fBslurm_free_job_step_create_response_msg\fR.
The list of host names returned may be matched to their data in the proper order by
using the functions \fBhostlist_create\fR, \fBhostlist_shift\fR, and
\fBhostlist_destroy\fR.
.SH "RETURN VALUE"
.LP
On success, zero is returned. On error, \-1 is returned, and Slurm error code is set appropriately.
.SH "ERRORS"
.LP
\fBSLURM_PROTOCOL_VERSION_ERROR\fR Protocol version has changed, re\-link your code.
.LP
\fBESLURM_INVALID_JOB_ID\fR the requested job id does not exist.
.LP
\fBESLURM_ALREADY_DONE\fR the specified job has already completed and can not be modified.
.LP
\fBESLURM_ACCESS_DENIED\fR the requesting user lacks authorization for the requested action (e.g. trying to delete or modify another user's job).
.LP
\fBESLURM_DISABLED\fR the ability to create a job step is currently disabled.
This is indicative of the job being suspended. Retry the call as desired.
.LP
\fBESLURM_INTERCONNECT_FAILURE\fR failed to configure the node interconnect.
.LP
\fBESLURM_BAD_DIST\fR task distribution specification is invalid.
.LP
\fBSLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT\fR Timeout in communicating with
Slurm controller.

.SH "NOTE"
These functions are included in the libslurm library,
which must be linked to your process for use
(e.g. "cc \-lslurm myprog.c").

.SH "COPYING"
Copyright (C) 2002-2007 The Regents of the University of California.
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
CODE\-OCEC\-09\-009. All rights reserved.
.LP
This file is part of Slurm, a resource management program.
For details, see <https://slurm.schedmd.com/>.
.LP
Slurm is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
.LP
Slurm is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
details.
.SH "SEE ALSO"
.LP
\fBhostlist_create\fR(3), \fBhostlist_shift\fR(3), \fBhostlist_destroy\fR(3),
\fBsrun\fR(1),
\fBslurm_get_errno\fR(3), \fBslurm_perror\fR(3), \fBslurm_strerror\fR(3)
